লগইন এবং লগআউট মেকানিজম ওয়েব অ্যাপ্লিকেশনে ইউজার অথেন্টিকেশন (authentication) এবং অথোরাইজেশন (authorization) প্রক্রিয়ার জন্য অত্যন্ত গুরুত্বপূর্ণ। জেএসপি (JSP) এবং সার্ভলেট (Servlet) ব্যবহার করে সহজেই লগইন এবং লগআউট ফিচার তৈরি করা সম্ভব। এই প্রক্রিয়ায় ইউজারের পরিচয় যাচাই করা হয় এবং লগইন স্টেটাস ট্র্যাক করা হয়।
লগইন মেকানিজম তৈরি করা
১. লগইন ফর্ম তৈরি করা
প্রথমে, ইউজারের ইনপুট গ্রহণ করার জন্য একটি লগইন ফর্ম তৈরি করতে হবে। এই ফর্মে ইউজার তার ইউজারনেম এবং পাসওয়ার্ড প্রবেশ করবে।
<form action="login" method="POST">
<label for="username">ইউজারনেম:</label>
<input type="text" id="username" name="username" required/><br><br>
<label for="password">পাসওয়ার্ড:</label>
<input type="password" id="password" name="password" required/><br><br>
<input type="submit" value="লগইন করুন"/>
</form>
২. লগইন সার্ভলেট তৈরি করা
এখন একটি সার্ভলেট তৈরি করতে হবে যা ইউজারের ইনপুট যাচাই করবে এবং যদি ইউজার সঠিক ইউজারনেম এবং পাসওয়ার্ড দিয়ে লগইন করতে পারে, তবে তাকে হোম পেজে রিডাইরেক্ট করবে।
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
// সঠিক ইউজারনেম এবং পাসওয়ার্ড যাচাই করা
if ("admin".equals(username) && "admin123".equals(password)) {
// ইউজারের লগইন সফল হলে সেশন তৈরি করা
HttpSession session = request.getSession();
session.setAttribute("username", username);
// হোম পেজে রিডাইরেক্ট করা
response.sendRedirect("home.jsp");
} else {
// লগইন ব্যর্থ হলে লগইন পেজে ফিরে আসা
response.sendRedirect("login.jsp?error=true");
}
}
}
এখানে:
request.getParameter("username")এবংrequest.getParameter("password")দিয়ে ইউজারের ইনপুট নেওয়া হচ্ছে।- ইউজারের ইনপুট যদি সঠিক হয়, তবে
session.setAttribute("username", username)দিয়ে একটি সেশন তৈরি করা হচ্ছে।
৩. হোম পেজ তৈরি করা
এখন একটি হোম পেজ তৈরি করতে হবে, যা লগইন সফল হলে ইউজারকে দেখানো হবে।
<%@ page session="true" %>
<%
String username = (String) session.getAttribute("username");
if (username == null) {
response.sendRedirect("login.jsp");
}
%>
<html>
<body>
<h1>স্বাগতম, <%= username %>!</h1>
<form action="logout" method="POST">
<input type="submit" value="লগআউট করুন" />
</form>
</body>
</html>
এখানে:
session.getAttribute("username")দিয়ে সেশন থেকে ইউজারের নাম নেওয়া হচ্ছে।- যদি সেশন নেই, তবে ইউজারকে লগইন পেজে রিডাইরেক্ট করা হচ্ছে।
লগআউট মেকানিজম তৈরি করা
১. লগআউট সার্ভলেট তৈরি করা
লগআউট করার জন্য একটি সার্ভলেট তৈরি করতে হবে যা ইউজারের সেশন শেষ করবে এবং তাকে লগইন পেজে রিডাইরেক্ট করবে।
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class LogoutServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// সেশন অবলুপ্ত করা
HttpSession session = request.getSession();
session.invalidate();
// লগইন পেজে রিডাইরেক্ট করা
response.sendRedirect("login.jsp");
}
}
এখানে:
session.invalidate()সেশনকে অবলুপ্ত (invalidate) করে দেয়, যার ফলে ইউজারের লগআউট হয়ে যায়।
২. লগআউট বাটন তৈরি করা
লগআউট করার জন্য একটি বাটন বা লিংক তৈরি করতে হবে যা logout সার্ভলেটের দিকে রিডাইরেক্ট করবে।
<form action="logout" method="POST">
<input type="submit" value="লগআউট করুন" />
</form>
এখানে, লগআউট বাটন ক্লিক করলে LogoutServlet কল হবে এবং সেশন অবলুপ্ত হবে।
সারাংশ
এই পদ্ধতির মাধ্যমে আপনি জেএসপি (JSP) এবং সার্ভলেট (Servlet) ব্যবহার করে একটি সহজ লগইন এবং লগআউট মেকানিজম তৈরি করতে পারেন। এই প্রক্রিয়ায়, প্রথমে ইউজারের ইনপুট যাচাই করা হয় এবং সফল লগইনের পর সেশন তৈরি করা হয়। লগআউটের সময় সেশন অবলুপ্ত করা হয়, যার মাধ্যমে ইউজার লগআউট হয়ে যায় এবং আবার লগইন পেজে রিডাইরেক্ট হয়।
Read more